<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>
<script>
    // finally()方法用于指定不管 Promise 对象最后状态如何，都会执行的操作。该方法是 ES2018 引入标准的。
    // finally方法的回调函数不接受任何参数，这意味着没有办法知道，前面的 Promise 状态到底是fulfilled还是rejected。这表明，finally方法里面的操作，应该是与状态无关的，不依赖于 Promise 的执行结果。 (只需要知道异步操作结束了)

    var p = new Promise((resolve, reject) => {
        setTimeout(() => {
            resolve(1);
        }, 2000)
    })

    p.then((res) => {
        console.log("fulfilled", res);
        aaaa;
    }).catch(res => {
        console.log("rejected", res);
    }).finally(() => {
        console.log("异步操作结束了");
    })


</script>

</html>